[Ruby][小ネタ] ワンライナーで JSON を YAML に変換する
JSON を YAML に変換する
先日 AWS CloudFormation にアップデートがあり、 CloudFormation Template を YAML で書けるようになったようです。
こうなったらぜひとも全ての CloudFormation Template を YAML で書きたいところです。それには JSON を YAML に変換する作業が必要です。
上記の記事内では remarshal を使っていますが Ruby だと何のツールを追加することなく行えます。
変換する
以下のコマンドを実行するだけです。
$ ruby -ryaml -rjson -e 'puts YAML.dump(JSON.parse(STDIN.read))' < sample.json > sample.yaml
-ryaml
と -rjson
で require して、読んだ JSON データを Hash に変換して YAML に dump しています。
例えば、こういう JSON ファイルが、
{ "Date":"2016-09-20", "Name":"classmethod, Inc" }
こういう YAML ファイルになります。
--- Date: '2016-09-20' Name: classmethod, Inc
まとめ
Mac であれば Ruby は標準でインストールされているので、上記コマンドはすぐに試すことができます。